package dao

import (
	"time"
)

// 这是 OmsCartItem 的全局公开dao对象，被service层调用!
var OmsCartItemDao = omsCartItemDao{}

// 这是 oms_cart_item表 的实体类
type OmsCartItem struct {
	CreateDate        time.Time `json:"create_date" form:"create_date" v:"create_date"`       // 创建时间
	DeleteStatus      int32     `json:"delete_status" form:"delete_status" v:"delete_status"` // 是否删除
	Id                int64     `json:"id" form:"id" v:"id"`
	MemberId          int64     `json:"member_id" form:"member_id" v:"member_id"`
	MemberNickname    string    `json:"member_nickname" form:"member_nickname" v:"member_nickname"`             // 会员昵称
	ModifyDate        time.Time `json:"modify_date" form:"modify_date" v:"modify_date"`                         // 修改时间
	Price             float64   `json:"price" form:"price" v:"price"`                                           // 添加到购物车的价格
	ProductAttr       string    `json:"product_attr" form:"product_attr" v:"product_attr"`                      // 商品销售属性:颜色,容量
	ProductBrand      string    `json:"product_brand" form:"product_brand" v:"product_brand"`                   // 商品品牌
	ProductCategoryId int64     `json:"product_category_id" form:"product_category_id" v:"product_category_id"` // 商品分类
	ProductId         int64     `json:"product_id" form:"product_id" v:"product_id"`
	ProductName       string    `json:"product_name" form:"product_name" v:"product_name"`             // 商品名称
	ProductPic        string    `json:"product_pic" form:"product_pic" v:"product_pic"`                // 商品主图
	ProductSkuCode    string    `json:"product_sku_code" form:"product_sku_code" v:"product_sku_code"` // 商品sku条码
	ProductSkuId      int64     `json:"product_sku_id" form:"product_sku_id" v:"product_sku_id"`
	ProductSn         string    `json:"product_sn" form:"product_sn" v:"product_sn"`                      // 商品编号
	ProductSubTitle   string    `json:"product_sub_title" form:"product_sub_title" v:"product_sub_title"` // 商品副标题（卖点）
	Quantity          int32     `json:"quantity" form:"quantity" v:"quantity"`                            // 购买数量
	Sp1               string    `json:"sp1" form:"sp1" v:"sp1"`
	Sp2               string    `json:"sp2" form:"sp2" v:"sp2"`
	Sp3               string    `json:"sp3" form:"sp3" v:"sp3"`
}

// 注意:这是 OmsCartItem 的私有dao对象，只能在dao层内使用!
type omsCartItemDao struct {
	InsertTemplate func(arg OmsCartItem) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg OmsCartItem) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                      `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (OmsCartItem, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]OmsCartItem, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 oms_cart_item 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type OmsCartItemPostman struct {
create_date
delete_status
id
member_id
member_nickname
modify_date
price
product_attr
product_brand
product_category_id
product_id
product_name
product_pic
product_sku_code
product_sku_id
product_sn
product_sub_title
quantity
sp1
sp2
sp3

}*/

// 这是 oms_cart_item 表的批量请求参数
type OmsCartItemReq struct {
	List []OmsCartItem `json:"list" form:"list"`
}
